package com.example.administrator.newjiajiesong.base;

import android.app.Activity;
import android.support.annotation.StringRes;
import android.support.annotation.UiThread;

import com.hannesdorfmann.mosby3.mvp.MvpView;

/**
 * BaseTreeView
 * (๑• . •๑)
 * 类描述:基础View接口
 * Created by LeiXiaoXing on 2017/3/13 18:20
 */

public interface BaseTreeView extends MvpView {

    /**
     * 显示加载中对话框
     */
    @UiThread

     void showProgressDialog(String dialogMessage);

    /**
     * 隐藏加载中对话框
     */
    @UiThread

    void dismissProgressDialog();


    /**
     * toast
     *
     * @param msg 吐丝的内容
     */
    void toast(String msg);

    /**
     * toast
     *
     * @param ids 吐丝的内容的字符串ids
     */
    void toast(@StringRes int ids);


    /**
     * 线程安全的toast
     *
     * @param msg 消息内容
     */
    @UiThread
    void toastThreadSafe(final String msg);

    /**
     * 线程安全的toast
     *
     * @param ids 消息内容
     */
    @UiThread
    void toastThreadSafe(@StringRes final int ids);

    /**
     * 开启一个Activity
     *
     * @param clz 需要开启的Activity
     */
    void startActivity(Class<? extends Activity> clz);

    /**
     * 开启一个Activity,并finish掉当前的Activity
     *
     * @param clz 消息内容
     */
    void startActivityAndFinishSelf(Class<? extends Activity> clz);

}
